package com.wang.common.core.controller;

import com.github.pagehelper.PageInfo;
import com.wang.common.core.domain.R;
import com.wang.common.core.domain.TableDataInfo;

import java.util.List;

public class BaseController {

    /**
     * 根据数据库表中发生改变的行数确定返回结果
     * @param rows 改变的行数
     * @return 统一返回结果
     */
    public static <T> R<T> toR(int rows){
        //如果改变行数>0,返回true ; 如果改变行数<=0,返回false.
        return rows > 0 ? R.success() : R.fail();
    }

    /**
     * 根据传入的布尔值确定返回结果
     * @param ret 传入的布尔值
     * @return 统一返回结果
     */
    public static <T> R<T> toR(boolean ret){
        return ret ? R.success() : R.fail();
    }

    /**
     * 获取当前页面的列表,可以是题目列表,用户列表等
     * @param list 当前页面的列表
     * @return 返回当前页面列表
     */
    public static TableDataInfo getTableDataInfo(List<?> list){
        if (list.isEmpty()){
            return TableDataInfo.empty();
        }
        //PageInfo<>(list).getTotal()方法可以获取当前list所属类的所有数据的总数,
        // 注意不是当前页面的总数
        return TableDataInfo.success(list,new PageInfo<>(list).getTotal());
    }
}
